package com.sayice.coursetable.logic.utils;

import java.util.Calendar;
import java.util.TimeZone;

/**
 * 日期时间工具类
 */
public abstract class DateUtils {
    /**
     * 获取星期号（从周一开始）
     *
     * @return 返回 1（周一）/ 2（周二）...
     */
    public static int getWeekDayNum() {
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
        return toMonFirstDayNum(calendar.get(Calendar.DAY_OF_WEEK));
    }

    /**
     * 将周日开始的星期号转换为周一开始的星期号
     *
     * @param dayNum 周日开始的星期号
     * @return 周一开始的星期号
     */
    public static int toMonFirstDayNum(int dayNum) {
        if (dayNum == 1) {
            return 7;
        }
        return dayNum - 1;
    }

    /**
     * 将星期号转换为对应文字
     *
     * @param dayNum 星期号（周一开始）
     * @return 返回 "周一" or "周二" or "周三" or ...
     */
    public static String toDayText(int dayNum) {
        switch (dayNum) {
            case 1:
                return "周一";
            case 2:
                return "周二";
            case 3:
                return "周三";
            case 4:
                return "周四";
            case 5:
                return "周五";
            case 6:
                return "周六";
            case 7:
                return "周日";
            default:
                return "";
        }
    }

    /**
     * 获取某节课的上课时间
     *
     * @param sectionNum 课程节号
     * @return 返回上课时间字符串
     */
    public static String toClassTime(int sectionNum) {
        switch (sectionNum) {
            case 1:
                return "08:00\n09:40";
            case 2:
                return "09:55\n11:35";
            case 3:
                return "14:00\n15:40";
            case 4:
                return "15:55\n17:35";
            case 5:
                return "19:00\n20:40";
            case 6:
                return "20:55\n22:35";
            default:
                return "";
        }
    }
}
